@大麻哈
3年前 提问
1个回答

oracle 安全配置方案有哪些

007bug
3年前

对Oracle进行安全配置最主要和方便好用的就是限制访问的ip,主要有三个办法。

方法一:

防火墙指定,windows中通过windows防火墙中指定监听端口的访问ip,linux中通过iptables指定监听端口的访问ip。

方法二:

windows中可通过ipsec指定监听端口的访问ip。

方法三:

可通过oracle的监听器中指定可访问的ip,在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:

tcp.validnode_checking = yes

允许访问的ip

tcp.invited_nodes = (ip1,ip2…)

不允许访问的ip

tcp.excluded_nodes=(ip1,ip2,……)

修改端口 可以修改监听器的端口,减少扫描量

关闭不必要的服务 可以关闭不必要的服务来减少对外访问,除了OracleServiceORCL和OracleOraDb11g_home1TNSListener是必须开启的之外,其他的均可以关闭。特别是OracleDBConsoleorcl服务的开启会启用web版的EM,访问端口在1158,如不需要请关闭此服务。

所有的用户均需设置强密码 在设置密码的时候均需要设置8位以上的强密码,且包含大小写,数字,特殊字符。

关闭不需要的用户 oracle默认会有4个不锁定的账户,建议锁定DBSNMP和SYSMAN。

特权账户的处理 限制数据库超级管理员远程登录。 a. 在spfile中设置 REMOTE_LOGIN_PASSWORDFILE=NONE b.在sqlnet.ora中设置 SQLNET.AUTHENTICATION_SERVICES=NONE 禁用SYSDBA角色的自动登录

开启日志 可以开启日志对数据库进行审计,但是也会消耗资源,可根据实际情况操作。

网站使用的数据库账号权限最小化 可以根据上面写的网站连接数据库账户推荐的方案建立。

合理使用数据库进程账户 数据库进程账户使用较低权限账户,新建一个新用户,添加数据目录的写权限,如果配置之后跑不起来,可以退而求其次,给予整个数据库目录的完全控制权限。

合理配置数据库进程账户对磁盘的权限 不要给予数据库目录以外的特殊权限,最好是读取权限都不给,可以根据实际情况来安排,原则就是数据库目录给的权限能保证正常运行,其他的目录能不给就不给。